import { login } from './../../api/admin'
import { message } from 'antd'
const action = {
  loginAction (params) {
    return (dispatch) => {
      // 此处需要执行异步操作，操作完后 组件需要执行后续的业务逻辑
      return new Promise((resolve, reject) => {
        login(params).then(res => {
          if (res.data.code === '10005') {
            message.error('没有找到该管理员账号')
          } else if (res.data.code === '10003'){
            message.warning('密码错误')
          } else {
            message.success('登录成功')
            // 默认跳转到首页
            // 保留登录成功的状态    adminname   token   role  isLogin
            localStorage.setItem('adminname', res.data.data.adminname)
            localStorage.setItem('token', res.data.data.token)
            localStorage.setItem('role', res.data.data.role)
            localStorage.setItem('isLogin', true)
            // 触发状态改变
            dispatch({
              type: 'CHANGE_LOGIN_STATE',
              payload: true
            })
            dispatch({
              type: 'CHANGE_ADMIN_NAME',
              payload: res.data.data.adminname
            })
            dispatch({
              type: 'CHANGE_ROLE',
              payload: res.data.data.role
            })
            dispatch({
              type: 'CHANGE_TOKEN',
              payload: res.data.data.token
            })

            // 交给组件去处理
            resolve()
          }
        })
      })
    }
  }
}

export default action